1. Field of the Invention
This invention relates to the arts of graphical user interfaces for computer based systems for data entry screens and other types of form completion. This invention relates especially to online form completion in which a plurality of fields are to be completed and/or where user interface display area is limited.
2. Description of the Related Art
Graphical user displays on electronic devices such as computers, web browsers, personal digital assistants, and wireless communications devices are common in the art. As these devices become more and more integral to activities in the daily lives of people such as web browsing, word processing, and even making telephone calls, the efficiency and ergonomics of these interfaces are extremely important. A user will quickly notice whether one user interface is easier and quicker to use than another based upon the number of operations required to perform a certain task. Further, the level of “intuitiveness” implemented in the user interface can greatly increase the usefulness and speed with which the user can operate the device.
Many graphical user interfaces follow the same conventions for navigation of and selection of controls on the user interface. Such common graphical user interfaces (“GUI”) include windows or frames-type displays in Microsoft's Windows operating system, Unix operating system, IBM's OS/2 and AIX operating systems, Microsoft's Windows CE operating system, Apple Computer's operating system, and many “proprietary” windows-like GUI's on various devices such as PDA's, cell phones, electronic organizers, etc.
FIG. 1 shows the fundamental client-server arrangement of Internet and intranet communications. A client web browser computer (1) is provided with Internet access (2) to the World Wide Web (3) through common means such as a dial-up telephone line and modem, cable modem, or local area network (“LAN”). The web browser computer (1) is also provided with appropriate web browsing software, such as Netscape's Navigator or Microsoft's Explorer. A web server computer (5) is likewise provided with Internet access (4) to the World Wide Web (3) using similar means, or higher-bandwidth means such as T1 and T3 data lines, and a web server suite of software. Alternatively, client and servers may be interconnected via an Intranet (6), such as a corporate LAN. These arrangements are well known within the art.
Hyper Text Markup Language (“HTML”), Adobe's Portable Document Format (“PDF”), and other web documents provide “hyperlinks” within the document, which allow a user to select another document or web site to view. Hyperlinks are specially marked text or areas in the document which when selected by the user commands the browser software to retrieve or fetch the indicated document. For example, the text:                <A HREF=“http://www.patents.ibm.com”>VIEW PATENTS</A>when embedded into an HTML document will produce a specially marked or highlighted string of text in the web browser window which simply reads “VIEW PATENTS”. Most commonly, this text will appear in underlined blue text, but the HTML document may specify alternate display characteristics for hyperlinks, as well as the web browser may have options for the display of hyperlinks. If the web browser user selects the hyperlink, such as clicking on the hyperlink using a mouse, the web browser will request the base document from web address www.patents.ibm.com using HTTP commands. The appropriate server for this web address will respond to the request by transmitting a web document, such as index.htm, to the requesting web browser.        
Ordinarily, when the user selects a plain hyperlink, the current page being displayed in the web browser's graphical user interface (“GUI”) window disappears and the newly received page is displayed. If the parent page is an index, for example the IBM web site www.patents.ibm.com, and the user wishes to visit each descending link (e.g. read the document with tips on how to use the site), then the parent or index page disappears and the new page is displayed (such as the help page). The user must click the browser's “back” button to return to displaying the parent page if desired.
FIG. 2 shows the basic organization of many prior art computer systems, web browsers, and other computer-based devices. The system (10) typically includes a microprocessor or central processor unit (“CPU”) including computer memory, and may also include interfaces to hard disks and removable disk media (14), and possibly interfaces to computer or communications networks (17) such as a network interface card (“NIC”) or wireless communications interface. Commonly used NICs include EtherNet local area network (“LAN”) cards, dial-up modem cards, and wireless communications circuits. Some of these circuits may be provided integral to the device (10), such as the case with a web-enabled cell phones, or these circuits may be add-in options such as PCI cards or PCMCIA cards for personal computers.
Additional typical hardware provided in the system (10) includes a group of user input/output (“I/O”) devices (13), such as a display, keyboard, and/or pointing device, accompanied by common user I/O interface circuits to allow the CPU and system software to access and use the user 1/O devices (13). Common display devices include VGA and LCD monitors for personal computers, and LCD panels for PDA and cell phones. Common pointing devices include “arrow keys”, “tab” keys, mouse and scroll-mouse, joystick, track balls, glide point touch sensitive pads, and touch sensitive displays with stylus pens. Some devices, such as certain PDA's, do not include an actual keyboard, but rather rely upon a touch-sensitive LCD display with virtual pointing device and stylus.
The software functionality of computer-based systems (10) can be divided into low-level device drivers and BIOS (18), an operating system (103), and applications programs. Low-level device drivers provide hardware-specific interface functions which allow the operating system and application programs to access the system hardware through common or generic application program interfaces (“API”). Some device drivers include necessary communications protocols and methods associated with a particular hardware device, such as a modem or wireless communications interface. Application programs can be further divided into portable applications, or applets (101), and non-portable, system-dependent applications (102). Such division of hardware and software functionality is well-understood in the art, and can be applied to large computer systems such as an IBM AS/400 equally as well to small computer systems such as PDA's running Windows CE.
On the system display is typically shown a conventional frame or “window” of information related to a specific system function or program, such as a web browser. FIG. 3 shows a typical arrangement of a web browser frame (20) including a title bar (21), tool bar (24), display area (25), and a pointer (201). The pointer (201) moves in response to the system pointing device and/or keyboard, such as typing on the arrow keys, movement of a mouse, track ball, or joystick. The title bar may include “buttons” for minimizing or restoring the frame (23), closing the program (22), as well as a display of the name of the function or program. The tool bar (24) typically includes a number of text and/or iconic options, such as “file” and “edit” drop-down lists.
The display area may be further navigable using vertical scroll (27) and horizontal scroll (26) bars, which are especially useful for system displays of information which cannot be shown completely within one frame on the display. “Clicking” on the right button (29) or left button (28), or “dragging” the horizontal position indicator (27) causes the information in the display area (25) to be panned or scrolled left or right. Likewise, using the up button (29), down button (28), or vertical position indicator (200) can cause panning or scrolling in a vertical motion. These types of scroll bars are common on word processors, spreadsheets, graphical design packages, and web browsers.
In typical operation of these types of GUI displays, the user moves the pointer (201) to or over a button or text option, and selects that option by clicking on it and/or dragging it. In some cases, keyboard-only navigation or selection is possible by using special combinations of keys, such as ALT-F to select the “file” drop-down menu, TAB and RETURN/ENTER keys, etc. In most computer-based systems, the software functions to coordinate user input selections and output display are provided by the operating system (“OS”), and application programs make calls to these OS functions to get input or to display output.
Turning to FIG. 4, an example view of a form with a plurality of fields to be completed is shown. This form is displayed in a web browser window (20) in the display area (25) of the web browser window. In this example, an order entry screen is shown in which each ordered item has an item number (40), a part number or catalog number (41), a quantity of units ordered (42), and an extended calculated price (43). The screen is provided with a submit order button (44). In many common technologies on web servers and web sites today, this form would be an HTML form or a common gateway interface (“CGI”) form. When the user has completed filling in numbers and information in the fields of the form, the user clicks on or selects the submit button (44) to cause data to be transferred from his web browser computer to the web site server.
The user may use the pointer (201) and his mouse to select fields by clicking in them and typing in numbers or other needed information. Alternatively, he may use a tab key and a back tab key to move from field to field in many forms. However, graphical user interfaces are have limited display space and size, whether it is on a small device such as a web enabled cellular telephone, or on a larger screen such as a 17-inch or a 19-inch CRT display on a computer system. No matter how much screen space is available, it is conceivable to need to complete a form which has more fields than may be displayable in one display frame. Further, most display frames are adjustable in size by the user such that the user may display multiple frames within his graphic user interface display area, and as such, the user may always reduce the frame size such that the entire form is not visible within the frame.
To provide a solution for this limited display area problem, the common art provides window scroll bars (26 and 27) as shown. Using the scroll bar controls (200), the user may scroll the viewable display area left, right, up or down in order to view other portions of the otherwise unviewable sections of the data entry screen. In some cases, the scroll bars also provide up and down or left and right selectable buttons (28 and 29). Clicking on one of these buttons simply advances the screen to the left, right, up or down one viewable area amount. However, even using these incremental scroll buttons, the common art technology does not intelligently move the screen forwards or backwards such that portions of incomplete fields or completed fields may be shown incompletely displayed. This may cause the user to have to select the scroll controls (200) to make a fine adjustment of the viewing area, causing further inefficiency working with the form.
For those who have used these types of systems, it is a well-known frustration to pan within a large form because of the number of user selections required to make coarse viewing adjustments using the incremental scrolling buttons (28 and 29) followed by fine viewing adjustments using the scroll controls (200), which can take many movements of the hand from the keyboard to the mouse and back to the keyboard. Thus, many systems avoid using very large forms, which would otherwise be a coherent and related set of fields, by separating related information into multiple screens or multiple forms. This approach, however, has its own set of problems in that related information is now entered, displayed, and revised across multiple forms, which causes a difficulty for reviewing or viewing information already completed or collections which must be completed.
Therefore, there is a need in the art for a system and/or method which allows smart scrolling of horizontal row-oriented and vertical column-oriented data entry screens, especially for web browser and web display technologies. There also exists a need in the art for a system and method which provides smart panning or scrolling between columns and rows of data entry fields in a web browser which does not require manual fine adjustment of positioning of the display window in order to allow large forms to be completed in an efficient manner.